Eviction-based Cache Placement for Storage Caches
نویسندگان
چکیده
Most previous work on buffer cache management uses an access-based placement policy that places a data block into a buffer cache at the block’s access time. This paper presents an eviction-based placement policy for a storage cache that usually sits in the lower level of a multi-level buffer cache hierarchy and thereby has different access patterns from upper levels. The main idea of the eviction-based placement policy is to delay a block’s placement in the cache until it is evicted from the upper level. This paper also presents a method of using a client content tracking table to obtain eviction information from client buffer caches, which can avoid modifying client application source code. We have evaluated the performance of this eviction-based placement by using both simulations with real-world workloads, and implementations on a storage system connected to a Microsoft SQL server database. Our simulation results show that the eviction-based cache placement has an up to 500% improvement on cache hit ratios over the commonly used access-based placement policy. Our evaluation results using OLTP workloads have demonstrated that the eviction-based cache placement has a speedup of 1.2 on OLTP transaction rates.
منابع مشابه
To ARC or Not to ARC
Cache replacement algorithms have focused on managing caches that are in the datapath. In datapath caches, every cache miss results in a cache update. Cache updates are expensive because they induce cache insertion and cache eviction overheads which can be detrimental to both cache performance and cache device lifetime. Nondatapath caches, such as host-side flash caches, allow the flexibility o...
متن کاملA Cash based Approach to Caching Web Documents
As the spread on the World Wide Web increases at alarming rates caches are placed at strategic places on the Internet to reduce network tra c and its associated costs Although caches may reduce network tra c and communication costs they may increase storage costs sometimes disproportionately so In this paper we propose a cost based approach to World Wide Web caching We view caching as an econom...
متن کاملDynamic Cache Partitioning Based on the MLP of Cache Misses
Dynamic partitioning of shared caches has been proposed to improve performance of traditional eviction policies in modern multithreaded architectures. All existing Dynamic Cache Partitioning (DCP) algorithms work on the number of misses caused by each thread and treat all misses equally. However, it has been shown that cache misses cause different impact in performance depending on their distri...
متن کاملExploring the Design Space of DRAM Caches
Die-stacked DRAM caches represent an emerging technology that offers a new level of cache between SRAM caches and main memory. As compared to SRAM, DRAM caches offer high capacity and bandwidth but incur high access latency costs. Therefore, DRAM caches face new design considerations that include the placement and granularity of tag storage in either DRAM or SRAM. The associativity of the cache...
متن کاملA Per-File Partitioned Page Cache
In this paper we describe a new design of the operating system page cache. Page caches form an important part of the memory hierarchy and are used to access file-system data. In most operating systems, there exists a single page cache whose contents are replaced according to a LRU eviction policy. We design and implement a page cache which is partitioned by file—the per-file page cache. The per...
متن کامل